package com.alibaba.otter.manager.biz.statistics.delay.dal.ibatis;

import com.alibaba.otter.manager.biz.statistics.delay.dal.dataobject.DelayStatDO;
import com.alibaba.otter.manager.biz.statistics.delay.param.TopDelayStat;
import com.mybatisflex.core.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.time.Instant;
import java.util.Date;
import java.util.List;

/**
 * DelayStatDao: 数据操作接口
 * <p>
 * 这只是一个减少手工创建的模板文件
 * 可以任意添加方法和实现, 更改作者和重定义类名
 * <p/>@author Powered By Fluent Mybatis
 */
public interface DelayStatDao extends BaseMapper<DelayStatDO> {
    DelayStatDO findRealtimeDelayStat(Long pipelineId);

    List<DelayStatDO> listTimelineDelayStatsByPipelineId(@Param("pipelineId") Long pipelineId, @Param("start") Instant start, @Param("end") Instant end);

    List<TopDelayStat> listTopDelayStatsByName(String searchKey, Integer topN);
}
